/*
 * Copyright (c) 2007 Compl Yue Still, All Rights Reserved.
 */

package hbi.domain;

import hbi.task.TaskAgent;
import hbi.task.TaskScript;

/**
 * 
 * @author Compl
 * 
 * @param <L>
 *            type of local domain
 * @param <R>
 *            type of remote domain
 */
public interface Gateway<L extends DomainController, R extends DomainController>
{

    L getLocalDomain();

    <T extends TaskAgent<? super R, ? super L>> void sendTaskAgent(
        Class<T> agentClass, TaskScript<? super T> script);

}
